package cn.jinjimi.app.entity.AppConfig;

import cn.jinjimi.base.util.GsonUtils;
import cn.jinjimi.domain.data.dto.AppConfigsDTO;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by Roy
 * Date: 16/5/11
 */
public class AppConfigs {

    public AppModule moduleGlobal;

    public List<AppModule> appModules;

    public static AppConfigs insertOrUpdate(AppConfigsDTO.AppConfig config) {

        AppConfigs appConfigs = new AppConfigs();

        /* 全局配置 */
        appConfigs.moduleGlobal = new AppModule();
        appConfigs.moduleGlobal.name = config.name;
        appConfigs.moduleGlobal.link = config.link;
        appConfigs.moduleGlobal.config = config.config == null ? null : GsonUtils.toJson(config.config);

        /* 模块配置 */
        appConfigs.appModules = new ArrayList<>();

        if (config.modules != null && !config.modules.isEmpty()) {
            for (AppConfigsDTO.AppConfig c : config.modules) {
                AppModule module = new AppModule();
                module.name = c.name;
                module.link = c.link;
                module.config = c.config == null ? null : GsonUtils.toJson(c.config);

                appConfigs.appModules.add(module);
            }
        }

        return appConfigs;
    }
}